package com.wali.modules.system.vo;

import java.io.Serializable;
import java.util.Objects;

/**
 * @author walixu
 * @ClassName com.wali.modules.system.vo
 * @Description 菜单VO类
 * @email wali.xu@kpmg.com
 * @date 06/04/2019 7:39 下午
 */
public class SysMenuVO implements Serializable {

    /**
     * 菜单编号
     */
    private int menuId;

    /**
     * 菜单名称
     */
    private String menuName;

    /**
     * 菜单链接
     */
    private String href;

    /**
     * 菜单图标
     */
    private String menuIcon;

    /**
     * 父菜单编号
     */
    private int parentMenuId;

    /**
     * 备注
     */
    private String description;

    /**
     * 最近更新时间
     */
    private String lastupdateTime;

    /**
     * 角色编号
     */
    private int roleId;

    public int getMenuId() {
        return menuId;
    }

    public void setMenuId(int menuId) {
        this.menuId = menuId;
    }

    public String getMenuName() {
        return menuName;
    }

    public void setMenuName(String menuName) {
        this.menuName = menuName;
    }

    public String getHref() {
        return href;
    }

    public void setHref(String href) {
        this.href = href;
    }

    public String getMenuIcon() {
        return menuIcon;
    }

    public void setMenuIcon(String menuIcon) {
        this.menuIcon = menuIcon;
    }

    public int getParentMenuId() {
        return parentMenuId;
    }

    public void setParentMenuId(int parentMenuId) {
        this.parentMenuId = parentMenuId;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getLastupdateTime() {
        return lastupdateTime;
    }

    public void setLastupdateTime(String lastupdateTime) {
        this.lastupdateTime = lastupdateTime;
    }

    public int getRoleId() {
        return roleId;
    }

    public void setRoleId(int roleId) {
        this.roleId = roleId;
    }

    @Override
    public String toString() {
        return "SysMenuVO{" +
                "menuId=" + menuId +
                ", menuName='" + menuName + '\'' +
                ", href='" + href + '\'' +
                ", menuIcon='" + menuIcon + '\'' +
                ", parentMenuId=" + parentMenuId +
                ", description='" + description + '\'' +
                ", lastupdateTime='" + lastupdateTime + '\'' +
                ", roleId=" + roleId +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        SysMenuVO sysMenuVO = (SysMenuVO) o;
        return menuId == sysMenuVO.menuId &&
                parentMenuId == sysMenuVO.parentMenuId &&
                roleId == sysMenuVO.roleId &&
                Objects.equals(menuName, sysMenuVO.menuName) &&
                Objects.equals(href, sysMenuVO.href) &&
                Objects.equals(menuIcon, sysMenuVO.menuIcon) &&
                Objects.equals(description, sysMenuVO.description) &&
                Objects.equals(lastupdateTime, sysMenuVO.lastupdateTime);
    }

    @Override
    public int hashCode() {
        return Objects.hash(menuId, menuName, href, menuIcon, parentMenuId, description, lastupdateTime, roleId);
    }
}
